﻿using System;
using System.Collections.Generic;
using DesignPattern.AbsFactory.Product;
using DesignPattern.AbsFactory.Product.Acer;

namespace DesignPattern.AbsFactory
{
    /// <summary>
    /// Acer工厂
    /// </summary>
    public class AcerFactory : AbsComputerFactory
    {
        public AcerFactory()
        {
            Console.WriteLine("Begin : AcerFactory CreateProduct");
        }

        /// <summary>
        /// 生产Acer主机
        /// </summary>
        /// <returns></returns>
        public override AbsHostProduct CreateHost()
        {
            return new HostProduct();
        }

        /// <summary>
        /// 生产Acer鼠标
        /// </summary>
        /// <returns></returns>
        public override AbsMouseProduct CreateMouse()
        {
            return new MouseProduct();
        }

        /// <summary>
        /// 生产Acer键盘
        /// </summary>
        /// <returns></returns>
        public override AbsKeyboardProduct CreateKeyboard()
        {
            return new KeyboardProduct();
        }
    }
}
